Electronic mail (“e-mail”) messages may be generally encoded using one of a number of known protocols to facilitate secure message communication. The Secure Multiple Internet Mail Extensions (“S/MIME”) protocol, for example, relies on public and private encryption keys to provide confidentiality and integrity, and on a Public Key Infrastructure (PKI) to communicate information that provides authentication and authorization. Data encoded using a private key of a private key/public key pair can only be decoded using the corresponding public key of the pair, and data encoded using a public key of a private key/public key pair can only be decoded using the corresponding private key of the pair. Other known standards and protocols may be employed to facilitate secure message communication, such as Pretty Good Privacy™ (PGP) and variants of PGP such as OpenPGP, for example. PGP-based systems also utilize public and private encryption keys to provide confidentiality and integrity, although the authenticity of public keys used in the encoding of PGP messages are validated in a different manner as compared to S/MIME systems. Constructs similar to that of a “certificate” (as used in S/MIME for example) containing a public key and information on the key holder may be provided in secure message communication standards and protocols. One example of such a construct is known as a “PGP key” in PGP-based systems.
Contents of an encoded message may be encrypted, signed or both. Consider an S/MIME message that contains encrypted message data, for example. The S/MIME message may include multiple versions of the same message text, and possibly, one or more attachments. Typically, all of the message data is encrypted with a single session key, which itself is transmitted within the message to the message recipient after it is encrypted using the message recipient's public key.
In situations where it is desirable to reveal only a selected part of the encoded message (e.g. a specific encrypted attachment to an attachment server), the session key will be required (in decrypted form) to decrypt the message data of that message part. However, by making the session key available so that the message data of the selected part may be decrypted, the security of the message data of other parts of the encoded message (e.g. encrypted text) may be compromised, since the same session key was used to encrypt those other parts of the encoded message.